package com.easylinkin.linkappapi.meterbilling.service;

import com.easylinkin.linkappapi.meterbilling.entity.RechargeRecord;
import com.easylinkin.linkappapi.meterbilling.entity.ext.WechatRechargeInfo;
import site.morn.rest.RestMessage;

import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.util.Map;

/**
 * class info :
 *
 * @author liuqihang
 * @date 2021/7/15 9:58
 */
public interface RechargeService {

    String addBalance(RechargeRecord rechargeRecord);

    /**
     * 房间删除时调用接口
     * @param roomId
     * @param waterBalance
     * @param electricityBalance
     * @return
     */
    Object[] deductionBalanceForDeleteRoom(Integer roomId, BigDecimal waterBalance, BigDecimal electricityBalance);

    RechargeRecord getRechargeRecordInfo(RechargeRecord rechargeRecord);

    /**
     * 创建微信支付订单
     * @return
     */
    RestMessage createWXOrder(WechatRechargeInfo wechatRechargeInfo);

    void asynThirdNotify(Map<String, String[]> parameterMap, HttpServletResponse response);

    RestMessage askOrderStatus(String orderNo);


}
